package com.wn.main.di

import androidx.fragment.app.Fragment
import dagger.hilt.android.scopes.ActivityScoped
import javax.inject.Inject

/**
 * @Author: wn
 * @Date: 2024/11/20 16:52
 * @Description: 提供 Fragment 的 函数
 */

// 类型别名定义 高阶函数定义  传入 值 为 lambda { 返回 Fragment}
typealias ReFragment = () -> Fragment

@ActivityScoped
class FragmentProvider @Inject constructor() {
  /**
   * lambda 执行 返回 Fragment 此时Fragment UI不可见就销毁，但数据保存,可见就是新的
   */
  fun setFragmentFn(f: Fragment): ReFragment = { f }
}

